Çàêðûòü îêíî         Ñïèñîê äðóãèõ äîêóìåíòîâ ÏÝÂÌ "Àãàò"

8.1.6. Ïoäcècòeìa ââoäa-âûâoäa.

B PAÏÈPA-èíòepïpeòaòope ïpèíÿòa ocoáaÿ cxeìa oápaùeíèé ê ïoäïpoãpaììaì ââoäa è âûâoäa (aïïapaò ïoòoêoâ), oáëeã÷aþùaÿ óïpaâëeíèe âíeøíèìè ócòpoécòâaìè êaê ía âíeøíeì, òaê è ía âíóòpeííeì ópoâíe.

8.1.6.1. Óïpaâëeíèe âûâoäoì.

Äëÿ ââoäa cèìâoëa â áëoêax cècòeìû ècïoëüçóeòcÿ ïoäïpoãpaììa COUT.

Peaëüíûé âûâoä cèìâoëa ía òpè òèïa ócòpoécòâ ïpoèçâoäÿò ïpoãpaììû-\äpaéâepû\:

    - ía ýêpaí - COUT1 (10.4.3),
    - ía ïpèíòep - D100,
    - â ôaéë - WRBYTE,

Ïoòoêè âûâoäa è oápaùeíèe ê íèì peaëèçoâaíû cëeäóþùèì oápaçoì.

%LISTD

-B paáo÷eé oáëacòè OUTPOOL âûäeëeíû 3 18-áaéòoâûe áóôepíûe çoíû äëÿ ïpeäcòaâëeíèÿ ïoòoêoâ âûâoäa:

   ¤00-11 - cècòeìíûé,
   ¤12-23 - ïpoãpaììíûé,
   ¤24-35 - oòëaäo÷íûé.

Còpóêòópa è ïpèìepíûé âèä ïoòoêa òaêoâû:


 0   1  2  3     4  5  6     7   8   9   A   B     C
----------------------------------------------------------
!ò! JSR COUT1 ! JSR JPRNT ! LDA #N  JSR JWRBYTE ! RTS !
-!--------------------------------------------------------
 !   3 áaéòa     3 áaéòa       5 áaéòoâ             ^
 !__________________________________________________!

0 áaéò - ccûëêa ía êoíeö ïoòoêa, ècïoëüçóeìaÿ ïpè äoáaâëeíèè íoâoão ócòpoécòâa;

äaëee - êoìaíäû âûçoâa äpaéâepoâ; oápaçóþò ïpaâèëüíóþ ìaøèííóþ ïpoãpaììó, oêaí÷èâaþùóþcÿ êoìaíäoé âoçâpaòa.

Ïepeêëþ÷eíèe ócòpoécòâ âûâoäa ocóùecòâëÿeòcÿ ïpaãìaìè ON è OFF. Äëÿ íèx â áóôepe êoìaíä ïpeäócìoòpeía äoïoëíèòeëüíaÿ èíôopìaöèÿ, oïpeäeëÿþùaÿ êoíêpeòíoe ócòpoécòâo è ïoòoê. Ïo íeé âoccòaíaâëèâaeòcÿ ïocëeäoâaòeëüíocòü êoìaíä â ïoòoêe, oçía÷aþùaÿ âûâoä ía äaííoe ócòpoécòâo (âce âoçìoæíûe òèïû oápaùeíèé ïpèâeäeíû ía pèóíêe)

%LISTL

-Ïoäïpoãpaììa IFINUSE oïpeäeëÿeò, ecòü ëè óæe âûçoâ äpaéâepa äaííoão ócòpoécòâa â ïoòoêe (èùeò êoìaíäó ïepexoäa â ïoòoêe). Oãpaíè÷eíèe: aäpec äpaéâepa íe äoëæeí coäepæaòü áaéòoâ ¤A9 è ¤60 (êoäû êoìaíä LDA# è RTS).

-Ïoäïpoãpaììa ONDEVICE äoáaâëÿeò âûçoâ äpaéâepa â êoíeö ïoòoêa, ecëè eão eùe íeò; çaòeì äoïècûâaeòcÿ êoìaíäa âoçâpaòa.

-Ïoäïpoãpaììa OFFDEVIC ècêëþ÷aeò âûçoâ äpaéâepa èç ïoòoêa, ecëè oí òaì ecòü, cäâèãaÿ ïpè ýòoì ïocëeäóþùèe âûçoâû.

%ENDL

Ïpèíÿòûe â cècòeìe oãpaíè÷eíèÿ ía íaïoëíeíèe ïoòoêa âûâoäa cëeäóþò èç eão paçìepa (18 áaéòoâ).

-Bûáop òoão èëè èíoão ïoòoêa âûâoäa ocóùecòâëÿeòcÿ ïpoãpaììoé-pacïpeäeëèòeëeì OUT, ïepeäaþùeé óïpaâëeíèe ía ïpoãpaììó, çaïècaííóþ â òoì èëè èíoì ïoòoêe, â çaâècèìocòè oò ÿ÷eéêè TIPOUT (â íeé xpaíèòcÿ cìeùeíèe ía÷aëa ýòoé ïpoãpaììû oòíocèòeëüío ía÷aëa áóôepa OUTPOOL).

B CSWL,CSWH oáû÷ío íaxoäèòcÿ èìeíío aäpec OUT, ïoýòoìó âûâoä cèìâoëa ÷epeç COUT âëe÷eò oápaùeíèe ê ïpoãpaììe â ïoòoêe, ò.e. ïocëeäoâaòeëüíûé âûâoä ýòoão cèìâoëa ÷epeç âce äpaéâepû ïoäêëþ÷eííûx ócòpoécòâ.

Pacïpeäeëèòeëü OUT è äpaéâepû coxpaíÿþò peãècòpû A,X,Y. Ýòo ãapaíòèpóeò ïpaâèëüíocòü âûâoäa ïpè ïocëeäoâaòeëüíoì âûçoâe äpaéâepoâ â ïoòoêe, óäoáío ïpè ècïoëüçoâaíèè âûâoäa â áëoêax cècòeìû.

%LEFT 5

Äpaéâep ôaéëa WRBYTE èìeeò íeìíoão äpóãoé èíòepôeéc:

   âxoä:  A=íoìep ôaéëa,
          SYMBOL=cèìâoë (çaïècûâaeòcÿ â OUT),
   âûxoä: A=SYMBOL.

%LEFT -5

-Ïepeêëþ÷eíèe aêòèâíûx ïoòoêoâ âûâoäa paâíocèëüío èçìeíeíèþ ÿ÷eéêè TIPOUT. Eão âûïoëíÿþò òe áëoêè cècòeìû, êoòpûì íeoáxoäèìo ÷òo-òo âûâecòè, äo oápaùeíèÿ ê COUT. Äëÿ óäoácòâa ècïoëüçoâaíèÿ âìecòo oápaòíoão ïepeêëþ÷eíèÿ ía êaæäoì ïpoxoäe öèêëoâ ÈHTEPKOMA è MOHÈTOPA ïpoââoäèòcÿ íacòpoéêa cècòeìíoão ïoòoêa.

-Äëÿ paçoâoão âûâoäa íe â òeêóùèé, a â ÿâío çaäaííûé â ïpeäïècaíèÿx BÛBOÄ è KATAËOÃ ïoòoê ècïoëüçóeòcÿ äoïoëíèòeëüíûé âpeìeííûé ïoòoê âûâoäa TEMPOUT (áaéòû ¤5A-61 OUTPOOL):

%LISTL

-Ïo êoìaíäe ÏEPEKË âûçûâaeòcÿ ïpaãìa DEVOUT (èëè ee òo÷êa âxoäa DEVCAT ïpè ècïoëíeíèè ïpaãìû CATALOG), êoòopaÿ çaíocèò â TEMPOUT ïpoãpaììó âûçoâa äpaéâepa íóæíoão ócòpoécòâa:

   STA SYMBOL
   oápaùeíèe ê äpaéâepó
   RTS

è aäpec TEMPOUT çaíocèòÿ íeïocpeäcòâeíío â CSWL,CSWH.

-Bo âpeìÿ paáoòû ïocëeäóþùèx êoìaíä âûçoâa âeü âûâoä áóäeò íaïpaâëÿòücÿ ÷epeç âpeìeííûé ïoòoê.

-Ïo oêoí÷aíèè âûxoäa oïÿòü âûïoëíÿeòcÿêoìaíäa ïepeêëþ÷eíèÿ âûâoäa, ío òeïepü âoccòaíaâëèâaeòcÿ âûâoä ÷epeç òeêóùèé ïoòoê (ïpoãpaììa SETO cíoâa çaíocèò â CSWL,CSWH aäpec OUT, a TIPOUT è íe èçìeíÿëcÿ).

%ENDL

%ENDL

8.1.6.2. Óïpaâëeíèe ââoäoì.

Óïpaâëeíèe ââoäoì èìeeò cëeäóþùèe ocoáeííocòè:

%LISTL

-ecòü òoëüêo äâa òèïa ócòpoécòâ ââoäa: êëaâèaòópa è ôaéë;

-cècòeìíûé ââoä âoçìoæeí òoëüêo c êëaâèaòópû;

-ââoä âoçìoæeí oäíoâpeìeíío òoëüêo c oäíoão ócòpoécòâa;

-äocòaòo÷ío òoëüêo còpoêoâoão ââoäa: ÿçûêoâûe cpeäcòâa íe òpeáóþò \ïepeêëþ÷eíèÿ\ cèìâoëüíoão ââoäa.

%ENDL

Äpaéâepoâ ââoäa còpoêè òoæe òoëüêo äâa:

     - c êëaâèaòópû - GETLN (10.4.3),
     - èç ôaéëa - GETLNF.

Oápaùeíèÿ ê äpaéâepaì ââoäa xpaíÿòcÿ â âèäe êoìaíä â oáëacòè OUTPOOL:


    FRSCRN  (62) : JMP GETLN           <--------!
    FRFILE  (65) : LDA #N              <--------!
                   JMP GETLNF                   !
    FRFILE1 (6A) : LDA #N              <--------!
                   JMP GETLNF                   !
--> GETLNADR(6F) : BIT KBDSTRB                  !
                   JMP âeêòop òeêóùeão ââoäa  __!

Becü ïpoãpaììíûé ââoä (áëoê INPUT) âeäeòcÿ ÷epeç GETLNADR.

Ïpèçíaê òeêóùeão ócòpoécòâaââoäa xpaíèòcÿ â ÿ÷eéêe KEYINLOC (cìeùeíèe ïo OUTPOOL íóæíoé ïpoãpaììû ââoäa). Oáû÷ío òoò æe aäpec xpaíèòcÿ â âeêòope GETLNADR. Äëÿ ïepeêëþ÷eíèÿ ââoäa äocòaòo÷ío èçìeíèòü ee coäepæèìoe.

Bâoä c ÿâío óêaçaííoão â ïpeäïècaíèè BBOÄ ócòpoécòâa opãaíèçóeòcÿ òaê:

%LISTL

-âeêòop GETLNADR íacòpaèâaeòcÿ ía íóæíóþ ïpoãpaììó (KEYINLOC íe ìeíÿeòcÿ!),

-ïpopaáaòûâaeò ââoä,

-âeêòop GETLNADR íacòpaèâaeòcÿ ïo KEYINLOC (âoccòaíaâëèâaeòcÿ ââoä c òeêóùeão ócòpoécòâa, ïoäïpoãpaììa SETIO).

%ENDL

Ïpèìe÷aíèe. B ÿ÷eéêax KSWL,KSWH ïocòoÿíío íaxoäèòcÿ aäpec KEYIN.

8.1.7. Bíóòpècècòeìíûé èíòepôeéc.

Èíòepôeéc ïoäïpoãpaìì ÿäpa coãëacoâaí c èíòepôeécoì ÈHTEPKOMa è Ïpaãìoâ. Ïoäïpoãpaììû COPY è CÓÏ âoçâpaùaþò aäpec peçóëüòaòa â ÿ÷eéêax ADR4, ÷òo âecüìa óäoáío êaê ÈHTEPKOMó, ò.ê. íe èçìeíÿeòcÿ coäepæèìoe ÿ÷eeê ADR1-ADR3, òaê è Ïpaãìaì, ò.ê. âoçâpaùaeìûé aäpec ÷aùe âceão è ecòü aäpec peçóëüòaòa.

Haèáoëee ÷acòo ècïoëüçóeìûe ïoäïpoãpaììû âûíeceíû â oäío ìecòo (ôaéë COMMON), ãäe oíè äocòóïíû äëÿ ècïoëüçoâaíèÿ.

Taê êaê ìíoãèe âûçûâaþùèe äpóã äpóãa ïoäïpoãpaììû pacïoëoæeíû â paçëè÷íûx áaíêax ïaìÿòè, èìeþòcÿ ïoäïpoãpaììû (JUMPS), êoòopûe ïepeêëþ÷aþò áaíê ïaìÿòè, âûçûâaþò òoò èëè èíoé áëoê è ïepeêëþ÷aþò áaíê íaçaä.

Çàêðûòü îêíî         Ñïèñîê äðóãèõ äîêóìåíòîâ ÏÝÂÌ "Àãàò"